Technological innovations and developments in distributed computing systems and applications has led to a significant increase in the amount and variety of network computing devices and peripheral (hardware) devices that may be interconnected and remotely accessible over communications networks such as the Internet, corporate intranets, wireless networks (e.g., Bluetooth), small home or office networks, etc. Such network accessible peripheral devices may include, for example, printers, cameras, video/audio conferencing end points, cell phones, and other handheld computing devices. Typically, computing devices are designed to be “web ready” for network applications in that the devices are capable of receiving/transmitting control/data messages once connected to a shared communications network. However, in order for a client device/application to access functionalities of network accessible peripheral devices, a “device driver” typically must be installed or be present on the client device.
Drivers are essentially hardware-dependent, operating-system specific programs that are executed on the client to provide an interface to functions of the network hardware devices. For example, installing a driver for a network printer enables an end user to print documents, select printing options such as duplex printing, page collation, etc., and check printer queue and availability. Although certain types of hardware devices may perform functionally similar tasks (e.g., printers for printing), such devices can have completely different interfaces, requiring the user to install different drivers to communicate with each device. Indeed, even physical devices of the same brand and model may require different device drivers. As the number of network accessible peripherals increases, it can be burdensome for a user to install multiple different drivers in his/her client device (e.g., laptop) so as to communicate with each of a wide range of network accessible peripheral hardware devices. Moreover, when an individual connects to a shared communications network using a laptop computer (or other portable computing device) at a new location, the individual may not have access to the device drivers (e.g., printer driver) that are needed to communicate with the network hardware devices or resources available at that location.